package org.safaproject.server.dao;

import java.util.List;

import org.hibernate.SessionFactory;
import org.safaproject.server.model.TipoIndicador;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.transaction.annotation.Transactional;

@Transactional(rollbackFor=Exception.class)
public class TipoIndicadorDAO extends HibernateDaoSupport {
	
	@Autowired
	public void initSessionFactory(SessionFactory factory) {
	    setSessionFactory(factory);
	}
	
	public TipoIndicador getTipoIndicadorById(String nombreIndicador){
		return (TipoIndicador) super.getHibernateTemplate().load(TipoIndicador.class, nombreIndicador);
	}
	
	@SuppressWarnings("unchecked")
	public List<TipoIndicador> getAllTipoIndicadores(){
		return super.getHibernateTemplate().find("from TipoIndicador");
	}
	
	public String saveTipoIndicador(TipoIndicador tipoIndicador){
		super.getHibernateTemplate().save(tipoIndicador);
		return tipoIndicador.getNombreIndicador();
	}
	
	public String updateTipoIndicador(TipoIndicador tipoIndicador){
		super.getHibernateTemplate().update(tipoIndicador);
		return tipoIndicador.getNombreIndicador();
	}
}
